﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using SistemaBastanteo.Dominio;
using NHibernate;

namespace SistemaBastanteo.Persistencia.NH
{
public class PoderDAO : BaseDAO<Poder, int>, IPoderDAO
    {
        public virtual Poder Crear(Poder entidad)
        {
            using (ISession sesion = NHibernateHelper.ObtenerSesion())
            {
                if (ListarxCodigoCorto(entidad.CodigoCorto).Count == 0) 
                {
                    sesion.Save(entidad);
                    sesion.Flush();
                }else
                 {
                     throw new Exception("Codigo Corto Ya Registrado");
                 }
            }
            return entidad;
        }

        public ICollection<Poder> ListarxCodigoCorto(string codigoCorto)
        {
            using (ISession sesion = NHibernateHelper.ObtenerSesion())
            {
                IQuery query = sesion.CreateQuery("FROM Poder WHERE codigo_corto = '"+ codigoCorto +"'");
                return query.List<Poder>();
            }
        }
        
    }
}